package com.ruoyi.jihuo.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.JhBaseEntity;
import com.ruoyi.jihuo.handler.JsonListTypeHandler;
import lombok.Data;
import org.apache.poi.hpsf.Decimal;

import java.math.BigDecimal;
import java.util.List;

/**
 * 模板配置对象 jh_tm_template
 *
 * @author ruoyi
 * @date 2025-04-10
 */
@Data
public class JhTmTemplate extends JhBaseEntity {
    private static final long serialVersionUID = 1L;


    /**
     * 模版名称
     */
    @Excel(name = "模版名称")
    private String jhTemplateName;

    /**
     * 商家编码(商家编码置灰不让输入，后端数据库为必填并未改动后端，添加默认值空字符串)
     */
    @Excel(name = "商家编码")
    private String jhCode="";
    /**
     * 运费模版ID
     */
    @Excel(name = "运费模版", readConverterExp = "集=合")
    private String jhFreightTemplate;

    /**
     * 采购的
     */
    @Excel(name = "采购的")
    private String jhPurchaseAddress;

    /**
     * 发货地
     */
    @Excel(name = "发货地")
    private String jhShippingAddress;

    /**
     * 前缀
     */
    @Excel(name = "前缀")
    private String jhPrefixJc;

    /**
     * 后缀
     */
    @Excel(name = "后缀")
    private String jhSuffixJc;

    /**
     * 删除内容
     */
    @Excel(name = "删除内容")
    private String jhDelContent;

    /**
     * 查找内容
     */
    @Excel(name = "查找内容")
    private String jhTemplateFind;

    /**
     * 替换内容
     */
    @Excel(name = "替换内容")
    private String jhTemplateReplace;

    /**
     * 图频表ID
     */
    @Excel(name = "图频表ID")
    private String jhPictureId;

    /**
     * 查找内容
     */
    @Excel(name = "查找内容")
    private String jhPictureFind;

    /**
     * 替换内容
     */
    @Excel(name = "替换内容")
    private String jhPictureReplace;

    /**
     * 类目;做成字典，导入
     */
    @Excel(name = "类目;做成字典，导入")
    private String jhContent;

    /**
     * 是否过滤不包邮
     */
    @Excel(name = "是否过滤不包邮")
    private String jhIsPost;

    /**
     * 是否过滤所有违规
     */
    @Excel(name = "是否过滤所有违规")
    private String jhIsGotOut;

    /**
     * 是否过滤无SKU
     */
    @Excel(name = "是否过滤无SKU")
    private String jhIsSku;

    /**
     * 过滤上市季节配置;春   夏   秋   冬
     */
    @Excel(name = "过滤上市季节配置;春   夏   秋   冬")
    private String jhSeason;

    /**
     * 类目过滤;取类目字典（集合）
     */
    @Excel(name = "类目过滤;取类目字典", readConverterExp = "集=合")
    @TableField(typeHandler = JsonListTypeHandler.class)
    private List<String> jhClass;

    /**
     * 品牌过滤
     */
    @Excel(name = "品牌过滤")
    @TableField(typeHandler = JsonListTypeHandler.class)
    private List<String> jhKeywordBrand;

    /**
     * 店铺过滤
     */
    @Excel(name = "店铺过滤")
    @TableField(typeHandler = JsonListTypeHandler.class)
    private List<String> jhKeywordShop;

    /**
     * 标题过滤
     */
    @Excel(name = "标题过滤")
    @TableField(typeHandler = JsonListTypeHandler.class)
    private List<String> jhKeywordTitle;

    /**
     * 描述过滤
     */
    @Excel(name = "描述过滤")
    @TableField(typeHandler = JsonListTypeHandler.class)
    private List<String> jhKeywordDesc;

    /**
     * SKU过滤
     */
    @Excel(name = "SKU过滤")
    @TableField(typeHandler = JsonListTypeHandler.class)
    private List<String> jhKeywordSku;

    /**
     * SKU过滤操作;根据关键词过滤SKU；根据关键词过滤整个商品
     */
    @Excel(name = "SKU过滤操作;根据关键词过滤SKU；根据关键词过滤整个商品")
    private String jhSkuType;

    /**
     * 复制此价格区间begin
     */
    @Excel(name = "复制此价格区间begin")
    private Long jhPriceBegin;

    /**
     * 复制此价格区间end
     */
    @Excel(name = "复制此价格区间end")
    private Long jhPriceEnd;

    /**
     * 总库存少于此值不复制
     */
    @Excel(name = "总库存少于此值不复制")
    private Long jhTotalInventoryNum;

    /**
     * SKU价格低于
     */
    @Excel(name = "SKU价格低于")
    private Long jhSkuPriceLess;

    /**
     * SKU价格高于
     */
    @Excel(name = "SKU价格高于")
    private Long jhSkuPriceGreater;

    /**
     * SKU库存少于
     */
    @Excel(name = "SKU库存少于")
    private Long jhSkuInventoryLess;

    /**
     * 销量少于此值不复制
     */
    @Excel(name = "销量少于此值不复制")
    private Long jhSalesNum;

    /**
     * 过滤详情图数量少于
     */
    @Excel(name = "过滤详情图数量少于")
    private Long jhPictureNum;

    /**
     * 过滤标题英文字母多于
     */
    @Excel(name = "过滤标题英文字母多于")
    private Long jhLetterNum;

    /**
     * 价格
     */
    @Excel(name = "价格")
    private BigDecimal jhPrice;

    /**
     * 是否复制视频
     */
    @Excel(name = "是否复制视频")
    private String jhIsCopyVideo;

    /**
     * 要复制的主图序号
     */
    @Excel(name = "要复制的主图序号")
    private String jhMainImageSeq;

    /**
     * 第一张主图用随机一张颜色属性图代替
     */
    @Excel(name = "第一张主图用随机一张颜色属性图代替")
    private String jhIsFirstPictureReplace;

    /**
     * 其他主图用颜色属性图代替
     */
    @Excel(name = "其他主图用颜色属性图代替")
    private String jhIsOtherPictureReplace;

    /**
     * 主图处理方式;水平翻转；垂直翻转；合并主图
     * todo 合并主图的话，那么其他主图就空了，不知道这个是否合理
     */
    @Excel(name = "主图处理方式;水平翻转；垂直翻转；合并主图")
    private String jhPrimaryPictureMode;

    /**
     * 是否复制颜色属性图
     * 应该默认为true
     */
    @Excel(name = "是否复制颜色属性图")
    private String jhIsCopyColor;

    /**
     * 颜色处理方式;水平翻转；垂直翻转
     */
    @Excel(name = "颜色处理方式;水平翻转；垂直翻转")
    private String jhColorMode;

    /**
     * 描述复制方式;复制电脑端与手机端；只复制电脑端；只复制手机端；都不复制；
     * todo 不知道怎么获取手机端图片
     */
    @Excel(name = "描述复制方式;复制电脑端与手机端；只复制电脑端；只复制手机端；都不复制；")
    private String jhDescMode;

    /**
     * 电脑详情图去掉顶部
     */
    @Excel(name = "电脑详情图去掉顶部")
    private int jhPcTopNum;

    /**
     * 电脑详情图去掉底部
     */
    @Excel(name = "电脑详情图去掉底部")
    private int jhPcBottomNum;

    /**
     * 电脑详情图保留前N张
     */
    @Excel(name = "电脑详情图保留前N张")
    private int jhPcReserveNum;

    /**
     * 手机详情图去掉顶部
     */
    @Excel(name = "手机详情图去掉顶部")
    private String jhPhoneTopNum;

    /**
     * 手机详情图去掉底部
     */
    @Excel(name = "手机详情图去掉底部")
    private String jhPhoneBottomNum;

    /**
     * 手机详情图保留前N张
     */
    @Excel(name = "手机详情图保留前N张")
    private String jhPhoneReserveNum;

    /**
     * 添加前缀
     */
    @Excel(name = "添加前缀")
    private String jhDescPrefix;

    /**
     * 添加后缀
     */
    @Excel(name = "添加后缀")
    private String jhDescSuffix;

    /**
     * 查找内容
     * todo 详情中没有看到用文字的
     */
    @Excel(name = "查找内容")
    private String jhTemplateFindImage;

    /**
     * 替换内容
     * todo 详情中没有看到用文字的
     */
    @Excel(name = "替换内容")
    private String jhTemplateReplaceImage;

    /**
     * 水印类型;文字；图片；
     */
    @Excel(name = "水印类型;文字；图片；")
    private String jhWatermarkType;

    /**
     * 水印文字
     */
    @Excel(name = "水印文字")
    private String jhWatermarkWord;

    /**
     * 水印图片
     */
    @Excel(name = "水印图片")
    private String jhWatermarkImage;


    /**
     * 透明度
     */
    @Excel(name = "透明度")
    private int jhWatermarkTransparence;

    /**
     * 水印位置;右上；左上；居中；
     */
    @Excel(name = "水印位置;右上；左上；居中；")
    private String jhWatermarkPlace;

    /**
     * 使用水印的图片;首张主图；其他主图；颜色和描述图
     * todo 暂定 A主图 B其他主图 C颜色和描述图
     */
    @Excel(name = "使用水印的图片;首张主图；其他主图；颜色和描述图")
    private String jhWatermarkScope;

    /**
     * 图片压缩率
     */
    @Excel(name = "图片压缩率")
    private int jhPictureCompressibility;

    /**
     * 是否处理图片
     */
    @Excel(name = "是否处理图片")
    private String jhIsModifyPicture;
    /**
     * 总库存少于此值不复制
     */
    @Excel(name = "总库存少于此值不复制")
    private int jhInventoryNum;
    /**
     * SKU价格低于等于此值的SKU不复制
     */
    @Excel(name = "SKU价格低于等于此值的SKU不复制")
    private int jhSkuLess;
    /**
     * SKU价格高于等于此值的SKU不复制
     */
    @Excel(name = "SKU价格高于等于此值的SKU不复制")
    private int jhSkuGreater;
    /**
     * SKU库存少于等于此值的SKU不复制
     */
    @Excel(name = "SKU库存少于等于此值的SKU不复制")
    private int jhSkuEqual;
    private Long jhUserId;

}